1. Field
Aspects of the present disclosure relate generally to reducing halftone artifacts, and more particularly, to a spatio-temporal error diffusion method that allows different temporal error propagation in different subframes to reduce halftone artifacts.
2. Background
Imaging devices have bit-depth limits for reproducing images. If the bit-depth of an imaging device (e.g., a display or a printer) is lower than that of the image data to be presented, the bit-depth of the source image data may be reduced to match the bit-depth of the device. Quantization is the simplest approach for bit-depth reduction. However, the image quality may be degraded. Halftoning (e.g., dithering or error diffusion) is a method to reduce bit-depth of the data but still preserve the macro-intensity levels. Spatial halftoning has been used in printing to convert 8-bit/channel data to 1-bit/channel binary data. If the resolution is sufficiently high and dot shape is well controlled, a binary printer can produce photo quality images. Since the resolution of a display is generally more limited, patterns from spatial halftoning may be visible.
To increase the image quality, temporal halftoning (or temporal modulation) may be incorporated to increase the bit-depth. In an analog interferometric modulator (AiMOD) display, each pixel can only be turned on or off, thus, no gray scale can be produced natively. This is very similar to printing, in which a dot is either placed or not placed onto a page. Although applying spatial dithering (e.g., error diffusion) can produce gray scale effects, halftone patterns may be visible due to the resolution limit. Temporal modulation is typically incorporated to increase the bit-depth and, therefore, reduce the halftone artifact. The visual noise between spatial halftoning and temporal halftoning are different. If the spatial resolution of a display is not high enough, halftone patterns will be visible and, thus, noisy. Temporal halftoning may produce no visual artifacts when implemented on a display in which the refreshing rate is higher than human eye can sense. However, if a display's refresh rate is not high enough to arrange subframes for temporal modulation, the flickering effect will be very noisy. In a reflective display, such as an AiMOD display, another side-effect of using temporal modulation is that it consumes more power.
Other attempts to solve the problem of reducing half-tone artifacts exist, but these solutions experience limitations or disadvantages. For example, one solution has been to only use spatial vector error diffusion, but this solution trades poor image quality for potentially no temporal flickering. Another solution has been to only use temporal modulation. However, while this solution may achieve increased bit-depths, it does not produce sufficient intensity levels for binary display devices. An additional solution has been to use spatial halftoning and temporal dithering, such as using spatial halftoning to more than two levels, and then applying a dithering mask to produce the gray levels. However, this solution is not an ideal choice for binary displays. A further solution is to maximize temporal error diffusion, and then allocate the residual error from the last subframe to spatial halftoning, but this solution also suffers from potential temporal flickering. Still another solution involves content-dependent halftoning, but such a process is both complicated and unreliable.